home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / The World of Computer Software.iso / dosspy21.zip / DOSSPY.TXT < prev    next >
Text File  |  1992-08-19  |  31KB  |  640 lines

  1.                                DOSSPY  V 2.1
  2. =============================================================================
  3.  
  4.                        ***************************
  5.                        Was soll ich denn DAMIT ???
  6.                        ***************************
  7.  
  8. DOSSPY ist kein abgefahrenes Utility für Freaks und Programmierer (das auch)
  9. sondern auch für den normaler User zu verwenden. Lösen Sie hiermit Probleme
  10. bei der Inbetriebnahme beliebiger Programme, wie z.B.:
  11.  
  12.  - Wieviele Dateien öffnet ein Progrmm gleichzeitig ?
  13.  - Warum bricht das Programm ab ? Welche Datei sucht es ? Findet es sie ?
  14.  - Benutzt das Programm die MS-DOS Funktionen oder umgeht es diese ?
  15.  - Ab welcher Dos-Version kann ich ein Programm einsetzen ?
  16.  - Welche DOS-Schalter fragt es ab ?
  17.  - ... und alles, was man mit DOS so anstellen kann...
  18.  
  19.  
  20. Für den Programmierer bietet DOSSPY zusätzlich Antwort auf die Fragen :
  21.  
  22.  - Schließt mein Programm bei Beendigung wieder alle Dateien ?
  23.  - Welche DOS-Version benötige mein Programm ?
  24.  - Bei welcher Aktivität stürzt mein Programm ab ?
  25.  - Findet mein Programm alle Dateien und Pfade ?
  26.  - Findet es genügend Hauptspeicher ?
  27.  - Womit ist mein Programm eigentlich so beschäftigt ?
  28.  - ... und vieles mehr ...
  29.  
  30.  
  31.  
  32. Wie, warum und weshalb erfahren sie in den nächsten Zeilen...
  33.  
  34.  
  35.  
  36.  
  37. 1) Einführung
  38. -------------
  39.  
  40. DOSSPY (engl.: Dos-Spion) ist ein residentes Programm, das die Zusammen-
  41. arbeit der Anwendungsprogramme mit MS-DOS überwachen kann. Die/der 
  42. ProgrammiererIn benötigt häufig Informationen darüber, wie ihr/sein Compiler 
  43. einen Befehl in DOS-Funktionen umsetzt, wieviel Dateien ein Programm gleich-
  44. zeitig geöffnet hält und nach welchem DOS-Aufruf das Programm abgestürzt ist.
  45.  
  46. DOSSPY zeigt in einem Informationsfenster ständig die aktuellen Daten über
  47. die wichtigsten Dos-Funktionsaufrufe (Int21h) mit Parametern und Ergebnis an. 
  48.  
  49. DOSSPY wurde für ein Zwei-Monitor-System geschrieben, arbeitet aber auch
  50. in Systemen mit nur einem Monitor (soll es ja auch noch geben ...).
  51.  
  52.  
  53.  
  54. 2) Ein Zwei-Monitor-System ?
  55. ----------------------------
  56.  
  57. Ein Zwei-Monitor-System (ZMS) hat für die/den ProgrammiererIn den Vorteil, 
  58. daß gleichzeitig Informationen zum laufenden Programm auf einen getrennten
  59. Bildschirm gebracht werden können. Außer DOSSPY benutzen alle Borland Compiler
  60. diese Möglichkeit (Dual-Screen-Support unter Options, Start-Up). Unter Windows
  61. ist das ZMS Pflicht für alle Entwickler, da ohne 2. Monitor das Debugging
  62. nicht möglich ist. Auch einige CAD Anwendungen sind mit ZMS wesentlich
  63. leichter zu bedienen.
  64. Unter Dos bootet der Rechner wie immer mit dem Primären Grafikadapter (meist
  65. VGA). Sie können jederzeit mit "MODE MONO" auf den 2. Monitor wechseln. Mit 
  66. "MODE CO80" gelangen Sie wieder auf den Farbmonitor.
  67.  
  68. Da kleinere 9" Monitore inzwischen gut erhältlich und sehr erschwinglich 
  69. geworden sind (ca. 200.-DM), könnte das ZMS in nächster Zukunft weite
  70. Verbreitung unter den ProgrammiererInnen finden.
  71.  
  72.  
  73.  
  74.  
  75. 3) Installation und Start von DOSSPY
  76. ------------------------------------
  77.  
  78. Richten Sie ein Verzeichnis ein (z.B. c:\toos\dosspy) und kopieren Sie alle
  79. Dateien in dieses Verzeichnis. 
  80.  
  81. Startet Sie DOSSPY mit "DOSSPY" und <EINGABE>.
  82.  
  83. Beim 1. Aufruf von DOSSPY gelten folgende Parameter :
  84.  
  85. DOSSPY /?       zeigt die verschiedenen Parameter an.
  86.  
  87. DOSSPY /1       Installation von DOSSPY resident im Speicher. Installiert 
  88.                 wird das Ein-Monitor-System (DEFAULT). Dieser Parameter kann
  89.                 genausogut weggelassen werden.
  90.  
  91. DOSSPY /2       Installation von DOSSPY resident im Speicher. Installiert
  92.                 wird das Zwei-Monitor-System. Die Information ist also ständig
  93.                 auf dem 2. Monitor im Informationsfenster sichtbar. Der
  94.                 gerade aktive Bildschirm wird dabei als 1. Monitor, der nicht-
  95.                 aktive Bildschirm als 2. Monitor verwendet.
  96.  
  97. DOSSPY /ON      Dosspy ist nach der Installation im Aktiv-Modus (DEFAULT).
  98.                 Dieser Parameter kann genausogut weggelassen werden.
  99.  
  100. DOSSPY /OFF     Dosspy bleibt bei der Installation im Sleep-Modus. Es findet
  101.                 keine Überwachung statt. Einige Programme stürzen ab, wenn
  102.                 sich der DOSSPY während ihrer Startphase aktiv im Speicher
  103.                 befindet. Nach dem Start dieser Programme kann DOSSPY dann
  104.                 meistens wieder aktiviert werden (Hotkey). Warum dieses
  105.                 Verhalten auftritt ist leider noch nicht geklärt. Meistens
  106.                 sind es jedoch Spiele und hardwarenah programmierte Programme.
  107.  
  108. Beispiel für Zwei-Monitor-System und Sleep-Modus : DOSSPY /2 /OFF. Dieser
  109. Aufruf kann direkt in der Autoexec.Bat stehen. Achten Sie dann bitte darauf,
  110. das DOSSPY nur wieder aus dem Speicher entfernt werden kann, wenn keine
  111. residenten Programme danach geladen wurden (z.B. Keyb oder Share).
  112.  
  113. Ist DOSSPY resident, so sind folgende Aufrufe möglich :
  114.  
  115. DOSSPY /U       Entfernt DOSSPY wieder aus dem Speicher
  116.  
  117. DOSSPY /U /1    wie DOSSPY /U
  118.  
  119. DOSSPY /U /2    Entfernt DOSSPY aus der Speicher und löscht den 2. Monitor.
  120.  
  121. Die Reihenfolge der Parameter spielt keine Rolle.
  122.  
  123.  
  124.  
  125.  
  126. 4) Einstellungen während der Arbeit mit DOSSPY
  127. ----------------------------------------------
  128.  
  129. Aktivieren Sie das Popup-Menue von DOSSPY mit <Shift> und <Num-5>. Es erscheint
  130. ein Fenster mit folgenden Auswahlmöglichkeiten :
  131.  
  132.  
  133.  Display Second Screen
  134.  Diese Funktion zeigt den Inhalt des 2. Bildschirms auf dem aktiven Bildschirm
  135.  an. Für Besitzer eines Single-Monitor-Systems die einzige Möglichkeit, zu
  136.  sehen, was DOSSPY gerade ausgibt.
  137.  Der 2. Bildschirm für in Echtzeit aktualisiert, so daß sich die Aktivitäten
  138.  eines Programms genau verfolgen lassen.
  139.  
  140.  
  141.  Clear DOSSPY
  142.  Setzt den 2. Bildschirm, sowie alle internen Listen auf den Anfangswert 
  143.  zurück. Sinnvoll ist dies, wenn ein neuer Überwachungsvorgang beginnen soll,
  144.  da hierbei auch die History Funktion gelöscht wird. Niemals gelöscht werden
  145.  die ersten 5 Dateien, da diese von COMMAND.COM geöffnet wurden und immer
  146.  angesprochen werden können.
  147.  
  148.  
  149.  Remove Closed Files
  150.  Entfernt alle Dateien mit der letzten Aktivität CLOSE aus der Dateiliste.
  151.  Dateien, die geschlossen wurden sollten eigentlich generell in dieser Liste 
  152.  nicht stehen, da ihr Handle nach dem Schliessen nicht mehr gültig ist. Da
  153.  aber viele Dateien sehr schnell geöffnet, gelesen und wieder geschlossen werden
  154.  ist das einzige, was man von ihnen zu Gesicht bekommt häufig die CLOSE 
  155.  Aktivität. Daher werden die Dateien nicht direkt beim Schliessen aus der Liste 
  156.  entfernt. 
  157.  
  158.  
  159.  History
  160.  Die History Funktion zeigt eine Liste der letzten 100 Dos-Funktionsaufrufe.
  161.  Sie entspricht dem rechten Teil des 2. Bildschirms, läßt sich aber mit den
  162.  Pfeiltasten <Pfeil-Auf> und <Pfeil-Ab> bewegen.
  163.  
  164.  
  165.  Save History
  166.  Speichert die History Liste im aktuellen Verzeichnis unter HISTORY.SPY ab.
  167.  Vorsicht : wird DOSSPY unter einem Dos-Oberfläche z.B. dem Norton Commander
  168.             aktiviert und die History Liste abgespeichert, so wird diese
  169.             neue Datei natürlich nicht direkt angezeigt, da das Dos-Programm
  170.             nicht weiß, daß sich etwas auf der Platte getan hat. Das
  171.             Verzeichnis muß also erst neu angewählt werden.
  172.  
  173.  
  174.  ASCII Table
  175.  Zeigt eine ASCII-Tabelle aller Zeichen von 0-255. Nicht sehr originell aber
  176.  manchmal braucht man's ja doch...
  177.  
  178.  
  179.  Watch Matrix
  180.  Die Watch Matrix ist eigentlich nur eine Liste von 0-255. Hier können Sie
  181.  bestimmte Funktionen des MS-DOS Interrupts 21h an oder ausschalten (bzw. 
  182.  deren Überwachung). Bewegen Sie den Cursor mit den 4 Pfeiltasten. Mit
  183.  <Leertaste> läßt sich der Überwachungszustand umschalten. Eine 0 bedeutet
  184.  hierbei, daß diese Funktion nicht überwacht wird. Bei einer 1 wird überwacht.
  185.  Je mehr Funktionen Sie einschalten, desto mehr Müll bekommen Sie auch auf den
  186.  Bildschirm. Niemals abschalten sollten Sie jedoch die Handle-Funktionen !
  187.  Sie werden zur Erstellung der Dateiliste (linke Seite 2. Bildschirm) benötigt.
  188.  
  189.  Die Watch Matrix kann gespeichert werden. Passen Sie die Matrix den
  190.  Anforderungen an und speichern Sie diese durch <S>. Wird DOSSPY von einem
  191.  Verzeichnis aus gestartet, in dem sich eine Matrixdatei befindet, so wird 
  192.  diese Datei geladen und benutzt.
  193.  
  194.  Laden Sie eine Matrixdatei manuell, durch Drücken von <L>.
  195.  
  196.  
  197.  Toggle Spy Status
  198.  Manchmal kann es nötig sein, DOSSPY in den Sleep-Modus zu versetzen. DOSSPY
  199.  ist dann zwar noch im Speicher, überwacht jedoch keine Funktionen mehr.
  200.  Diese Funktion ist identisch mit dem Parameter /OFF beim Start von DOSSPY.
  201.  ACHTUNG : Werden die Funktionen Get/Set Interrupt überwacht, so bleibt das
  202.  System bei der Deinstallation stehen. Einzige Abhilfe : vor der Deinstal-
  203.  lation DOSSPY in den Sleep-Mode schalten.
  204.  
  205.  
  206.  
  207. 5) SPYTALK
  208. ----------
  209.  
  210. Das Zusatzprogramm Spytalk kann über den Interrupt 2Fh mit DOSSPY
  211. kommunizieren. Folgende Parameter werden unterstützt :
  212.  
  213. SPYTALK /?      gibt die möglichen Parameter aus
  214. SPYTALK /ON     Schalte DOSSPY in den aktiven Modus
  215. SPYTALK /OFF    Schalte DOSSPY in den Sleep Modus
  216. SPYTALK         gibt einen Statusbericht über DOSSPY aus
  217.  
  218. Das Programm SPYTALK kann also im Prinzip nichts anderes, als den schon
  219. installierten DOSSPY im Modus umschalten. Dies kann genausogut über den
  220. Menüpunkt 'Toggle Spy Status' im DOSSPY-Menü geschenen. Mit SPYTALK können
  221. Sie dies jedoch in einer Batch-Datei ausführen. Es hat sich gezeigt, daß
  222. DOSSPY abstürzt, wenn es bei Überwachung der Funktionen 'Get/Set Int Vector'
  223. deinstalliert wird (siehe auch unten).
  224. Die Lösung : eine kleine Batch-Datei, die folgendermaßen aussieht :
  225.  
  226.   SPYTALK /OFF
  227.   DOSSPY  /U
  228.  
  229. Damit kann DOSSPY _immer_ aus dem Speicher entfernt werden.
  230.  
  231.  
  232.  
  233.  
  234.  
  235. 5) Bekannte MS-DOS Funktionen und Interna
  236. -----------------------------------------
  237.  
  238. Folgende Funktionen erkennt DOSSPY und wertet Sie aus (Parameter und Ergebnis).
  239. Parameter werden in der History-Liste ebenfalls ausgegeben. Funktionsergebnisse
  240. werden in eckigen Klammern dargestellt ([..]).
  241.  
  242. Beispiel : Select Disk    C:         (Aufruf Funktion 0Eh mit DL=2)
  243.            Get Curr Drve  [C:]       (Aufruf Funktion 19h. Ergebnis AL=2)
  244.  
  245.  
  246. Bei Funktionen, die als Output ein '-' besitzen, werden die Ergebnisparameter
  247. nicht ausgewertet (weil sie keine haben, nicht zurückkehren oder weil ich
  248. noch nicht weiß wie..). Bei Input und Output stehen NICHT alle Parameter,
  249. die diese Funktion besitzt, sondern nur die, die durch DOSSPY ausgewertet
  250. (und angezeigt) werden. Funktionen, die ein Sternchen '*' besitzen tragen
  251. zum Aufbau des Filemonitors mit bei. Sie dürfen auf keinen Fall abgeschaltet
  252. werden !
  253.  
  254. Wer jetzt noch weitere Infos benötigt, sollte sich das 1. Buch der unten
  255. angegebenen Bücherliste besorgen. Hier werden alle Parameter ausführlich
  256. behandelt. Wer sich weitere Behandlungen einiger Routinen wünscht, der
  257. möge sich bei mir melden...
  258.  
  259.  
  260. Funktions   Subfunktions       Anzeige           Input      Output
  261.  Nummer       Nummer
  262.  
  263.    00           -              Terminate           -          -
  264.    01           -              Key Inp&Echo        -          AL
  265.    02           -              Display Outpt       DL         -
  266.    03           -              Serial Input        -          AL
  267.    04           -              Serial Output       DL         -
  268.    05           -              Printer Outpt       DL         -
  269.    06           -              Direct I/O          -          AL
  270.    07           -              Direct KeyInp       -          AL
  271.    08           -              Input Charctr       -          AL
  272.    09           -              Display Strng       DS:DX^Str  -
  273.    0A           -              Buff Key Inpt       DS:DX      -
  274.    0B           -              Chk Inp Stat        -          AL
  275.    0C           -              Clear Keybrd        AL         -
  276.    0D           -              Flush               -          -
  277.    0E           -              Select Disk         DL         -
  278.    0F           -              FCB Open            DS:DX^FCB  -
  279.    10           -              FCB Close           DS:DX^FCB  -
  280.    11           -              FCB Find Frst       DS:DX^FCB  -
  281.    12           -              FCB Find Next       DS:DX^FCB  -
  282.    13           -              FCB Delete          DS:DX^FCB  -
  283.    14           -              FCB Read seq        DS:DX^FCB  -
  284.    15           -              FCB Write sq        DS:DX^FCB  -
  285.    16           -              FCB Create          DS:DX^FCB  -
  286.    17           -              FCB Rename          DS:DX^FCB  -
  287.    18           -              UNDEFINED           AX BX      -
  288.    19           -              Get Curr Drve       -          AL+65
  289.    1A           -              Set DTA Adr         DS:DX      -
  290.    1B           -              Get FAT Info        -          -
  291.    1C           -              Get FAT Info        DL         -
  292.    1D           -              UNDEFINED           AX BX      -
  293.    1E           -              UNDEFINED           AX BX      -
  294.    1F           -              Get DPB             -          -
  295.    20           -              UNDEFINED           AX BX      -
  296.    21           -              FCB Read Rnd        DS:DX^FCB  -
  297.    22           -              FCB Wrte Rnd        DS:DX^FCB  -
  298.    23           -              FCB Get FSize       DS:DX^FCB  -
  299.    24           -              FCB Set Recd        DS:DX^FCB  -
  300.    25           -              Set IntVec          DS:DX AL   -
  301.    26           -              Copy PSP            DX         -
  302.    27           -              FCB Read rnd        DS:DX^FCB  -
  303.    28           -              FCB Write rd        DS:DX^FCB  -
  304.    29           -              FCB Parse Nme       -          -
  305.    2A           -              Get Date            -          DL . DH . CX
  306.    2B           -              Set Date            DL DH CX   -
  307.    2C           -              Get Time            -          CH : CL
  308.    2D           -              Set Time            CH CL DH   -
  309.    2E           -              Set Verify          ON,OFF(AL) -
  310.    2F           -              Get DTA Adrss       AL         ES:BX
  311.    30           -              Get Version#        -          AL . AH
  312.    31           -              TSR                 AL         -
  313.    32           -              Get DPB Drive       DL         -
  314.    33...........00             Get Break           AL         ON,OFF (DL)
  315.                 01             Set Break           AL DL      -
  316.                 02             Tst&Set Break       AL DL      -
  317.                 03             UNDEFINED           -          -
  318.                 04             UNDEFINED           -          -
  319.                 05             Get Boot Drve       AL         -
  320.                 06             Get Vers/Loc        AL         -
  321.    34           -              Get InDos Adr       -          -
  322.    35           -              Get IntVec          AL         ES:BX
  323.    36           -              Get Disk Free       DL         -
  324.    37...........00             Get SwitchChr       AL DL      -
  325.                 01             Set SwitchChr       AL DL      -
  326.                 02             Get Dev Avail       AL DL      -
  327.                 03             Set Dev Avail       AL DL      -
  328.    38...........00             Get Country         -          -
  329.                 01             Set Country         -          -
  330.    39           -              Make   Dir          DS:DX^Name -
  331.    3A           -              Remove Dir          DS:DX^Name -
  332.    3B           -              Change Dir          DS:DX^Name -
  333.    3C           -              Hdl Create      *   DS:DX CX   Flags AX
  334.    3D           -              Hdl Open        *   DS:DX      Flags AX
  335.    3E           -              Hdl Close       *   BX CX      Flags AX
  336.    3F           -              Hdl Read        *   BX CX      Flags AX
  337.    40           -              Hdl Write       *   BX CX      Flags AX
  338.    41           -              Delete              DS:DX^Name -
  339.    42           -              Hdl Seek        *   BX CX      Flags AX
  340.    43...........00             Get Attribute       AL DS:DX   -
  341.                 01             Set Attribute       AL DS:DX   -
  342.                 02             DRDOS Get Pwd       AL DS:DX   -
  343.                 03             DRDOS Set Pwd       AL DS:DX   -
  344.    44...........00             IOCTL Get Inf       AL         -
  345.                 01             IOCTL Set Inf       AL         -
  346.                 02             IOCTL Read  C       AL         -
  347.                 03             IOCTL Write C       AL         -
  348.                 04             IOCTL Read  B       AL         -
  349.                 05             IOCTL Write B       AL         -
  350.                 06             IOCTL Get ISt       AL         -
  351.                 07             IOCTL Get OSt       AL         -
  352.                 08             IOCTL Change?       AL         -
  353.                 09             IOCTL Lokal?        AL         -
  354.    45           -              Hdl Duplicate   *   BX CX      Flags AX Handle
  355.    46           -              Hdl SetSecond   *   BX CX      Flags AX Handle
  356.    47           -              Get Curr Dir        DL         -
  357.    48           -              Allocate            BX         AX
  358.    49           -              FreeMemory          ES         -
  359.    4A           -              Modify Memory       -          -
  360.    4B...........00             EXEC LoadExec       AL DS:DX^  -
  361.                 01             EXEC Load Prg       AL DS:DX^  -
  362.                 02             EXEC UNDEFINED      -          -
  363.                 03             EXEC Load Ovy       AL DS:DX^  -
  364.                 04             EXEC UNDEFINED      -          -
  365.                 05             EXEC Enter Prg      AL DS:DX   -
  366.    4C           -              Terminate           AL         -
  367.    4D           -              Get Exit Code       -          AH
  368.    4E           -              Find First          DS:DX^Name -
  369.    4F           -              Find Next           -          -
  370.    50           -              Set Actve PSP       BX         -
  371.    51           -              Get Actve PSP       -          BX
  372.    52           -              Get Dos Data        AL         ES:BX
  373.    53           -              BPB to DPB          -          -
  374.    54           -              Get Verify          -          ON,OFF (AL)
  375.    55           -              Create Nw PSP       -          -
  376.    56           -              Rename              DS:DX^Name -
  377.    57...........00             Get Time/Date       AL         -
  378.                 01             Set Time/Date       AL         -
  379.                 02             Nonsense ???        AL         -
  380.                 03             Nonsense ???        AL         -
  381.                 04             Nonsense ???        AL         -
  382.    58...........00             Get Alloc Sty       AL         -
  383.                 01             Set Alloc Sty       AL         -
  384.                 02             Get UMB Link        AL         -
  385.                 03             Set UMB Link        AL         -
  386.    59           -              Get Ext Error       BX         AX BH BL CH
  387.    5A           -              Create TmpFile      DS:DX^Name -
  388.    5B           -              Hdl CreateNew   * DS:DX CX BX  Flags AX
  389.    5C...........00             Hdl Lock File       AL         _
  390.                 01             Hdl Unlock          AL         -
  391.    5D...........00             Net Server Call     DS:DX      -
  392.                 01             Net Update All      DS:DX      -
  393.                 02             Net Close           DS:DX^Name -
  394.                 03             Net Close M         DS:DX      -
  395.                 04             Net Close P         DS:DX      -
  396.                 05             Net Get Open-List   DS:DX      -
  397.                 06             Get DOS Var Area    AL         -
  398.                 07             NET Get Prn Redir   AL         -
  399.                 08             NET Set Prn Redir   AL         -
  400.                 09             NET New Printjob    AL         -
  401.                 0A             Set ExtError        DS:DX      -
  402.                 0B             Get DOS Var Area    AL         -
  403.    5E...........00             NET Get Name        AL         -
  404.                 01             NET Set Name        AL         -
  405.                 02             NET Set Prt Init    AL         -
  406.                 03             NET Get Prt Init    AL         -
  407.                 04             NET Set Prt Tab     AL         -
  408.                 05             NET Get Prt Tab     AL         -
  409.    5F...........00             NET Get RedirMod    AL         -
  410.                 01             NET Set RedirMod    AL         -
  411.                 02             NET Get RedirItm    AL         -
  412.                 03             NET Set RedirItm    AL         -
  413.                 04             NET Del ReditItm    AL         -
  414.                 05             NET Get RedirItm    AL         -
  415.                 06             Unknown             AL         -
  416.                 07             NET Activate Drv    AL         -
  417.                 08             NET Delete Drive    AL         -
  418.    60           -              Expand Name         -          -
  419.    61           -              UNDEFINED           AX BX      -
  420.    62           -              Get Activ PSP       -          BX
  421.    63           -              DBC Support         -          -
  422.    64           -              Set Print Busy      ON,OFF(AL) -
  423.    65...........00             UNDFINED            AL         -
  424.                 01-1F          Ext Cntry Info      AL         -
  425.                 20-23,A0-A2    Capitalize Chr      AL         -
  426.    66...........00             UNDEFINED           AL         -
  427.                 01             Get Code Page       AL         -
  428.                 02             Set Code Page       AL         -
  429.    67           -              Set HdleCount       BX         -
  430.    68           -              Hdl Update      *   BX CX      Flags AX
  431.    69...........00             Get Dsk Serial#     AL         -
  432.                 01             Set Dsk Serial#     AL         -
  433.    6A           -              NET Hdl Update      -          -
  434.    6B           -              UNDEFINED
  435.    6C           -              Hdl X-Create    * DS:SI CX BX  Flags AX
  436.    6D-FF                       Undefined Interrupts
  437.  
  438.  
  439.  
  440. Interna :
  441.  
  442. - Get/Set Vector : wird bei den Vectoren 21-23 unterdrückt, da diese von
  443.   Dos immer bei Programmstart abgefragt und geändert werden (viel Müll).
  444.  
  445. - Display Output : hat DL einen Wert kleiner 32, wird ein '#' und der
  446.   Hexwert von DL angezeigt. Ansonsten immer der Buchstabe ("x").
  447.  
  448. - Hdl Duplicate/SetSecond : der kopierte Dateiname wird in eckige Klammern
  449.   gestellt um anzuzeigen, daß dies nicht der einzige Handle ist.
  450.  
  451. - Get Curr Dir : kann in DL auch den Wert 0 für 'Aktuelles LW' haben. Als
  452.   angefordertes LW wird dann statt z.B. 'C:' ein 'Act:' angezeigt.
  453.  
  454. - Alle Ausgabewerte werden auf die passende Größe zurechtgeschnitten. Auf dem
  455.   2. Monitor ist das Historyfenster kleiner als das der angezeigten History
  456.   im zugehörigen Menüpunkt.
  457.  
  458. - DS:DX ist ein Pointer. Ist in der Liste hinter dem Pointer ein ^-Zeichen,
  459.   so wird nicht der Pointer selbst, sondern die Struktur auf die er zeigt
  460.   angezeigt (z.B. FCB-Funktionen zeigen den Dateinamen an).
  461.  
  462. - Wird eine Funktion mehrfach direkt hintereinander aufgerufen (immer mit den
  463.   gleichen Parametern), so wird diese Funktion nur beim 1. Aufruf in die
  464.   Historyliste übernommen. Beim nächsten anderen Aufruf wird die Anzahl der
  465.   Funktionsaufrufe dann angezeigt.
  466.  
  467.  
  468.  
  469. 6) Erfahrungen & Probleme mit DOSSPY
  470. ------------------------------------
  471.  
  472. Nach meinen bisherigen Erfahrungen läuft DOSSPY problemlos mit fast allen
  473. MS-DOS Programmen. Ausnahmen sind einige Spiele und einige extrem hardwarenah
  474. programmierte Branchenprogramme.
  475.  
  476. Bei der Aktivierung von DOSSPY entstehen leider immer wieder Probleme mit
  477. Programmen, die einen eigenen Tastaturhandler aktivieren.
  478. Teilweise läßt sich DOSSPY dann gar nicht in den Vordergrund schalten und
  479. teilweise nur manchmal (mit etwas Pech gelingt die Aktivierung, aber dann
  480. steht das System). Gerade der DOS Editor EDIT reagiert allergisch auf
  481. die Aktivierung von DOSSPY. Das scheint allerdings nicht unbedingt an DOSSPY
  482. zu liegen, da fast alle von mir getesteten TSR-Programme bei ihrer Akti-
  483. vierung in EDIT das System lahmlegen. Lassen wir's halt solange bleiben. 
  484. Überwachen tut DOSSPY in jedem Falle sehr sicher und solange es im Hinter-
  485. grund bleibt, verursacht es keine Probleme.
  486.  
  487. Beachtet werden sollte auch, daß der Programmablauf durch den Einsatz von
  488. DOSSPY natürlich etwas langsamer wird (2. Monitor wird ständig aufgebaut).
  489. Werden alle Funktionen überwacht, wird der Rechner spürbar langsamer (was
  490. nicht weiter schlimm ist, denn DOSSPY wird zur Fehlersuche eingesetzt und
  491. nicht zum DOS-Tuning ;-) ).
  492.  
  493. Wem die Größe von DOSSPY (ca 40kB) Probleme bereiten sollte, kann das
  494. Programm problemlos beim Start mit LH DOSSPY in den UMB Speicher hochladen.
  495. Dieser Speicher kann selbst mit VGA-Karte immer 160kB groß werden und sollte
  496. intensiv genutzt werden (gerade für TSR Programme).
  497.  
  498. Bei der Überwachung einiger Funktionen (speziell Get/Set IntVector) hängt sich
  499. das System auf, wenn DOSSPY deinstalliert wird. Er mag sich wohl nicht selbst
  500. bei seiner Execution betrachten... Abhilfe : vor dem Deinstallieren mit
  501. Toggle Status in der Sleep-Mode schalten.
  502.  
  503. Die Überwachung von Windows (getestet : 3.0 und 3.1) ist völlig fehlerfrei
  504. in allen Modis (auch 386) möglich.
  505. Hier entstehen 2 Möglichkeiten zur Überwachung :
  506.  
  507.  - Ist DOSSPY schon vor dem WINDOWS-Start geladen, so wird das WINDOWS-System
  508.    selbst überwacht. Alle Dateizugriffe und DOS-Aufrufe, die Windows-Programme
  509.    ausführen werden protokolliert. In den Vordergrund schalten läßt sich
  510.    DOSSPY nur durch Start einer DOS-Session. DOSSPY überwacht diese NICHT
  511.    (da diese Session einen neuen virtuellen Prozessor hat, gell), läßt sich
  512.    hier jedoch problemlos aktivieren und verändern (aber nicht deinstallieren).
  513.  
  514.  - Unter Windows kann ein Dos-Programm überwacht werden, indem eine DOS-Session
  515.    gestartet wird, DOSSPY geladen und dann das eigentliche Programm aktiviert 
  516.    wird. DOSSPY behandelt jetzt nur dieses eine Programm. 
  517.    Wird auf den 2. Monitor verzichtet, ist es möglich, in jeder DOS-SESSION 
  518.    einen eigenen DOSSPY zu startet.
  519.  
  520.  
  521.  
  522.  
  523.  
  524. 7) Hinweise und Bemerkungen
  525. ---------------------------
  526.  
  527. Dieses Programm wurde mit Hilfe folgender Quellen entwickelt :
  528.  
  529.  -   DOS 5 für Programmierer
  530.      A. Schäpers
  531.      Addison-Wesley
  532.  
  533.  -   C't  magazin für computertechnik
  534.      diverse Ausgaben
  535.      Heise Verlag
  536.  
  537.  -   System BIOS for IBM PC/XT/AT Computers and Compatibles
  538.      The Complete Guide to ROM-Based System Software
  539.      Phoenix Technologies Ltd.
  540.      Addison-Wesley
  541.  
  542.  -   V7VGA Technical Reference Manual
  543.      Video Seven Incorporated
  544.  
  545.  -   Bad Vilbeler UrQuelle
  546.      Mineralbrunnen GmbH
  547.  
  548.  -   Alles über die Kunst des Jonglierens
  549.      Dave Finnigan
  550.      DuMont Buchverlag Köln
  551.  
  552. Die verwendeten Abkürzungen und Ausdrücke der Dateiliste sind stark an die
  553. verwendeten Ausdrücke des erstgenannten Buches angelehnt. Die verwendeten
  554. Programmiertechniken wurden dem letztgenannten Buch entnommen. Meinen
  555. ausdrücklichen Dank hiermit an die Autoren.
  556.  
  557.  
  558.  
  559. 8) Updates und Neuerungen
  560. -------------------------
  561.  
  562. Versions Nr  Änderungen
  563.  
  564. 0.1 - 0.9    Interne Testversionen...
  565.  
  566. 1.0 - 1.3    bis zu 1.3 wurde nach und nach alle mir bekannten DOS Funktionen
  567.              implementiert (bis einschl DOS 5.0).
  568.  
  569. 1.4          Das Programm überwacht nicht nur die Eingangsdaten vor dem
  570.              Funktionsaufruf, sondern auch die Ausgabedaten in den Registern
  571.              (grooosser Assemblerklumpf)
  572.  
  573. 1.5          Kleinere Fehler beim Deinstallieren und Vektorverbiegen entfernt
  574.  
  575. 1.6          Interne Testversion
  576.  
  577. 2.0          Nachbearbeitung der Ausgabedaten erweitert.
  578.              1. Shareversion. 1. Version mit Anleitung.
  579.  
  580. 2.1          mehr Nachbereitung, bessere Anleitung...
  581.              Da viele User anscheinend mit der -zugegeben- etwas knappen
  582.              Anleitung nicht klarkamen (zu wenig Details) also nun die
  583.              Version 2.1. Im Programm selbst hat sich auch ein wenig getan.
  584.              Es wurden einige wichtige Funktionen mit Sonderbehandlungen
  585.              unterstützt. Einige Nacbehandlungen wurden dazugenommen.
  586.              Das externe Prog "SPYTALK.EXE" wird wieder mitgeliefert.
  587.              Die Anleitung wurde wesentlich erweitert (mit Einführung wozu
  588.              das Prog überhaupt gut ist (nein es ist kein Virenschutz
  589.              (oder doch?))). Damit müßten jetzt aber alle Klarheiten
  590.              beseitigt sein, oder ??
  591.  
  592. 2.2          gibts auch bald...siehe unten 'Schon in Arbeit'
  593.              Aber diese Version muß erstmal eine Weile halten :->
  594.  
  595.  
  596.  
  597.  
  598.  
  599.                   !!!!!!     ACHTUNG     !!!!!!
  600.                   Dieses Programm ist SHAREWARE
  601.  
  602. Es darf also jederzeit weitergegeben, kopiert, gelöscht und gegessen werden.
  603. Verändert werden darf es jedoch nicht ! Ebensowenig darf es ohne diesen 
  604. Begleittext weitergegeben werden. Haftung für Schäden, die dieses Programm 
  605. direkt oder indirekt oder noch indirekter oder sonstwie anrichtet übernimmt 
  606. niemand (warum auch ?!).
  607.  
  608. Wer dieses Programm benutzen will, sollte sich überlegen, sich vielleicht
  609. trotz aller Geldsorgen registrieren zu lassen. Die Registrierung kostet nur
  610. 20.- DM und erleichtert das Gewissen doch ungemein (zumindest den Geldbeutel).
  611. Jeder bei mir registrierter Benutzer erhält von mir die momentan aktuelle
  612. Vollversion (immer neuer als Shareware). Die Vollversion unterscheidet sich
  613. nur durch das Fehlen der Hinweisbildschirme von der Sharewareversion.
  614.  
  615. Für weitere Vorschläge und Verbesserungen bin ich jederzeit dankbar...die
  616. neueste Version dieses Programmes läßt sich jederzeit downloaden aus der
  617.      
  618.      COWO-Box Darmstadt 2400-8-n-1
  619.      06151/313919
  620.      oder 
  621.      06151/313062
  622.  
  623. dort bin ich auch des öfteren zu Erreichen (Username : GURKE),
  624.  
  625. oder schreibt an
  626.      
  627.      Martin Fischer
  628.      Schleiermacherstr. 26
  629.      6100 Darmstadt
  630.  
  631.  
  632. Schon in Arbeit ist :
  633. ---------------------
  634.  
  635. - die 2 Rechner Option mit (Null-)Modemverbindung, für den kleinen
  636.   Servicetechniker  =8-)
  637. - die erweiterten Auswertungen der Funktionsergebnisse (wie immer...)
  638. - Englische Anleitung (falls mir jemand helfen möchte ...?)
  639.  
  640.